
### Funcao Diasquentesfun ###

### Autora: Carla Piantoni
### carla.piantonigmail.com


diasquentesfun<-function(x,var,varclim="tmax",unidtempo="ano")
{
  if(unidtempo=="ano")
    {
    if(varclim=="tmax")
      {
      diasquentes <- aggregate(x[,3]+x[,5]>=var~x[,1], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "TDTmax")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano)), ]
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "TDTmax")
      }
    if(varclim=="tmed")
      {
      diasquentes <- aggregate(x[,3]+x[,6]>=var~x[,1], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "TDTmed")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano)), ]
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "TDTmed")
      }
    if(varclim=="tmin")
      {
      diasquentes <- aggregate(x[,3]+x[,7]>=var~x[,1], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "TDTmin")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano)), ]
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "TDTmin")
      }
    if(varclim=="prec")
      {
      diasquentes <- aggregate(x[,3]+x[,4]>=var~x[,1], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "Prec")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano)), ]
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "Prec")
      }
  }
  if(unidtempo=="mes") 
    {
    if(varclim=="tmax")
      {
      diasquentes <- aggregate(x[,3]+x[,5]>=var~x[,1]+x[,2], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "Mes", "TDTmax")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano, Mes)), ]
      diasquentes <- data.frame(diasquentes$Ano, diasquentes$TDTmax, diasquentes$Mes)
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "TDTmax", "Mes")
      }
    if(varclim=="tmed")
      {
      diasquentes <- aggregate(x[,3]+x[,6]>=var~x[,1]+x[,2], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "Mes", "TDTmed")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano, Mes)), ]
      diasquentes <- data.frame(diasquentes$Ano, diasquentes$TDTmed, diasquentes$Mes)
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "TDTmed", "Mes")
      }
    if(varclim=="tmin")
      {
      diasquentes <- aggregate(x[,3]+x[,7]>=var~x[,1]+x[,2], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "Mes", "TDTmin")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano, Mes)), ]
      diasquentes <- data.frame(diasquentes$Ano, diasquentes$TDTmin, diasquentes$Mes)
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "TDTmin", "Mes")
      }
    if(varclim=="prec")
      {
      diasquentes <- aggregate(x[,3]+x[,4]>=var~x[,1]+x[,2], data=x,sum, na.rm=TRUE)
      diasquentes <- as.data.frame(diasquentes)  
      names(diasquentes) <- c("Ano", "Mes", "Prec")
      diasquentes[, 1] <- as.factor(diasquentes[, 1])
      diasquentes[, 2] <- as.factor(diasquentes[, 2])
      diasquentes <- diasquentes[with(diasquentes, order(Ano, Mes)), ]
      diasquentes <- data.frame(diasquentes$Ano, diasquentes$Prec, diasquentes$Mes)
      write.table(diasquentes,file="diasquentesfun.csv",sep=",", row.names=FALSE)
      diasquentes <- read.csv("diasquentesfun.csv", header=TRUE, dec=".")
      names(diasquentes) <- c("Ano", "Prec", "Mes")
      }
    }
    var <- read.table("diasquentesfun.csv", header=TRUE, dec=".")
    x11()
    plot(var[,1], var[,2], bty="l", tck=0.01, xlab=paste("Anos)"), ylab=paste("Nmero Total de Dias"), cex.axis= 0.8, pch=19)
    lines(lowess(var[,1],var[,2]))
    return(diasquentes)  
}